package cn.diancan.service;

import java.util.List;

import cn.diancan.exception.OutMsgException;
import cn.diancan.model.Specification;
import cn.diancan.model.SpecificationValue;
import cn.diancan.vo.other.Pager;

public interface SpecificationService {

    /**
     * 保存规格 -规格值
     * @param specificationName
     * @param specificationValue
     * @return
     * @throws OutMsgException
     */
    public Specification saveSpecification(String specificationName,String[] specificationValue)throws OutMsgException,Exception;
    
    
    /**
     * 插入新的规格值
     * @param specificationId
     * @param specificationName
     * @param specificationValue
     * @return
     * @throws OutMsgException
     */
    public boolean updatePlusSpecification(Long specificationId,String specificationName,String[] specificationValue)throws OutMsgException,Exception;
    
    
     
    public Pager findPagerBySpecification(Pager pager,String keyWords)throws OutMsgException;
    
    
    public Specification findSpecificationById(Long specificationById)throws OutMsgException;
    
    
    public Specification findSpecificationByName(String name)throws OutMsgException;
    
    
    public SpecificationValue findSpecificationValueByValue(Long specificationId,String specificationValue)throws OutMsgException;
    
    public SpecificationValue findSpecificationValueByValueKey(Long specificationId,String specificationValueKey)throws OutMsgException;
    
    
    public SpecificationValue findSpecificationValueByNameAndValue(String name,String value)throws OutMsgException;
    
    
    public List<SpecificationValue> findSpecificationValue(String name,String valueKeyWords)throws OutMsgException;
    
    
    public SpecificationValue findSpecificationValueId(Long specificationId,Long specificationValueId) throws OutMsgException;
    
    public List<Specification> findSizeSpecificationList()throws OutMsgException;
    
    

}
